package cn.ibizlab.core.authentication.provider;


import cn.ibizlab.core.authentication.domain.AuthProvider;

/**
 * 身份验证工厂类：根据配置动态构造对应的认证服务（如:ldap、api认证等）
 */
public interface AuthenticationServiceFactory {

    /**
     * 是否支持当前认证类型
     * @param provider
     * @return
     */
    boolean supports(AuthProvider provider);

    /**
     * 根据配置动态构造对应的认证服务
     * @param provider
     * @return
     */
    AuthenticationService getAuthenticationService(AuthProvider provider);
}
